﻿using CppAst;

namespace ast;

public class ExportType
{
    public CppType Type;
    public CppType SourceType;

    public ExportType(CppType src)
    {
        this.Type = ClassUtil.SimpleType(src.Clone());
        this.SourceType = src;
    }  
    public ExportType(ExportType src)
    {
        this.Type = src.Type.Clone();
        this.SourceType = src.SourceType.Clone();
    }
}

public class ExportPara : ExportType
{
    public string Name;


    public ExportPara(CppParameter cppParameter) : base(cppParameter.Type)
    {
        this.Name = cppParameter.Name;
    }

    public ExportPara(CppType type, string name) : base(type)
    {
        this.Name = name;
    }
    public ExportPara(ExportType type, string name) : base(type)
    {
        this.Name = name;
    }
}